<?php

class Estudiante_Model extends CI_Model {

    

    function actualizarEstudiante($parameters, $ide_pers) {
        $update = array(
            "planted_procede_est" => $parameters['planted_procede_est'],
            "especialidad_est" => $parameters['especialidad_est'],
            "nombre_padre_est" => $parameters['nombre_padre_est'],
            "profesion_padre_est" => $parameters['profesion_padre_est'],
            "nombre_madre_est" => $parameters['nombre_madre_est'],
            "profesion_madre_est" => $parameters['profesion_madre_est'],
            "conjuge_est" => $parameters['conjuge_est'],
            "carga_fam_est" => $parameters['carga_fam_est'],
            "tipo_sangre_est" => $parameters['tipo_sangre_est'],
            "sector_est" => $parameters['sector_est'],
            "email_pers_est" => $parameters['email_pers_est'],
            "face_est" => $parameters['face_est'],
            "twit_est" => $parameters['twit_est'],
            "estud_traba_est" => $parameters['estud_traba_est'],
            "activo_est" => $parameters['activo_est']);
        $this->db->where("persona_ide_pers", $ide_pers);
        $this->db->update("estudiante", $update);
    }

    function getDatosEstudiante($ide_pers) {
        
        $this->db->select('persona.*, estudiante.ide_est');
        $this->db->from('persona');
        $this->db->join('estudiante', 'persona.ide_pers = estudiante.persona_ide_pers', 'inner');
        $this->db->where('estudiante.persona_ide_pers', $ide_pers);
        $this->db->where('estudiante.eliminado_est', 0);
        $query = $this->db->get();
        $data = $query->row_array();
        
        $query->free_result();
        return $data;
    }
    
    function obtenerCursaEstudiante($id_estudiante) {
        $this->db->select('periodos_lectivos.descripcion_lec, cursa.*');
        $this->db->from('cursa');
        $this->db->join('periodos_lectivos', 'periodos_lectivos.ide_lec = cursa.periodos_lectivos_ide_lec', 'inner');
        $this->db->where('cursa.estudiante_ide_est', $id_estudiante);
        $this->db->order_by("periodos_lectivos_ide_lec", "desc"); 
        $this->db->group_by("periodos_lectivos_ide_lec"); 
        //$this->db->limit(1);
        //$this->db->where('estudiante.eliminado_est', 0);
        $query = $this->db->get();
        $data = $query->result_array();
        
        $query->free_result();
        return $data;
    }
    function obtenerMateriasEstudiante($periodos_lectivos_ide_lec,$ide_estu) {
        $this->db->select('materia.nombre_mat, calificaciones.total1, calificaciones.total2, cursa.seccion, cursa.paralelo, calificaciones.asiste1_cal, calificaciones.asiste2_cal');
        $this->db->from('cursa');
        $this->db->join('materia', 'materia.ide_mat = cursa.materia_ide_mat', 'inner');
        $this->db->join('calificaciones', 'calificaciones.cursa_ide_cur = cursa.ide_cur', 'inner');
        $this->db->where('cursa.periodos_lectivos_ide_lec', $periodos_lectivos_ide_lec);
        $this->db->where('cursa.estudiante_ide_est', $ide_estu);
        $this->db->order_by("materia.nombre_mat", "desc"); 
        //$this->db->group_by("periodos_lectivos_ide_lec"); 
        //$this->db->limit(1);
        //$this->db->where('estudiante.eliminado_est', 0);
        $query = $this->db->get();
        $data = $query->result_array();
        
        $query->free_result();
        return $data;
    }
    
    function getMatriculadosPorSemestreCarreraCicloJornada($ide_lec, $ide_car,$ide_pen,$ide_cic,$seccion,
                $paralelo,$sexo_pers="NINGUNO",$autodefin_pers="NINGUNO",$agrupa=0) {


        $this->db->select('cursa.periodos_lectivos_ide_lec,cursa.ide_car,cursa.ide_pen,cursa.ide_cic,cursa.seccion,
            persona.ide_pers,persona.cedula_pers, persona.apellido_pers, persona.nombre_pers,persona.sexo_pers,persona.username_pers, 
            persona.email_inst_pers,persona.fono_pers,matriculas.id_matr,matriculas.nro_matr,matriculas.modo_mat,matriculas.estado_matr,carrera.nombre_car, ciclos.codigo_cic,ciclos.nombre_cic,cursa.seccion,cursa.paralelo');
        $this->db->distinct();
        $this->db->from('estudiante');
        $this->db->join('matriculas', 'estudiante.ide_est = matriculas.estudiante_ide_est', 'inner');
        $this->db->join('cursa', 'matriculas.id_matr = cursa.matriculas_id_matr', 'inner');
        $this->db->join('persona', 'persona.ide_pers = estudiante.persona_ide_pers', 'inner');
        $this->db->join('carrera', 'cursa.ide_car = carrera.ide_car', 'inner');
        $this->db->join('ciclos', 'cursa.ide_cic = ciclos.ide_cic', 'inner');
        $this->db->where('cursa.periodos_lectivos_ide_lec ', $ide_lec);
        //$this->db->where('(matriculas.estado_matr=1 OR matriculas.estado_matr=2)');
         $this->db->where('(matriculas.estado_matr=2 OR matriculas.estado_matr=5)');
        if ($ide_car>0) {
        $this->db->where('cursa.ide_car', $ide_car);
        }
        if ($ide_pen>0) {
            $this->db->where('cursa.ide_pen', $ide_pen);
        }
        if ($ide_cic>0) {
            $this->db->where('cursa.ide_cic', $ide_cic);
        }
        if ($seccion>0) {
            $this->db->where('cursa.seccion', $seccion);
        }
        if (!empty($paralelo)&& $paralelo!="X" ) {
            $this->db->where('cursa.paralelo', $paralelo);
        }
        if ($sexo_pers!="NINGUNO") {
            $this->db->like('persona.sexo_pers', $sexo_pers);
        }
        if ($autodefin_pers!="NINGUNO") {
            $this->db->like('persona.autodefin_pers', $autodefin_pers);
        }

        //$this->db->where('(matriculas.modo_mat<>3 )');
        $this->db->where('(matriculas.inscrip_matr>2)');
        //$this->db->where('matriculas.inscrip_matr', 4);
        $this->db->where('matriculas.eliminado', 0);
        if ($agrupa=0){
            $this->db->group_by('matriculas.id_matr');
        }
        //
        //$this->db->order_by('persona.cedula_pers');
        //$this->db->order_by('carrera.nombre_car');
        //$this->db->order_by('ciclos.codigo_cic');
        //$this->db->order_by('persona.apellido_pers');
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $query->free_result();
            return $data;
        } else {
            return null;
        }
    }
    

}